首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Matplotlib:不同颜色的每一个滴答

Matplotlib:不同颜色的每一个滴答
EN

Stack Overflow用户
提问于 2016-09-09 10:31:50
回答 1查看 4.9K关注 0票数 14

我试图用matplotlib (python3.5)创建一个散点图,其中x轴上的每一个滴答都有不同的颜色。这怎麽可能?

例如,假设x-滴答是“Mo”、“Tu”、“We”、“Th”、“Fr”、“Sa”、“Su”。现在我想要“莫”是绿色,“土”是蓝色,等等.

下面是我的代码的一个非常简单的版本:

代码语言:javascript
复制
from matplotlib import pyplot as plt
plt.figure(figsize=(16, 11))
x = [1, 2, 3, 4, 5, 6, 7]
y = [10, 12, 9, 10, 8, 11, 10]
plt.scatter(x, y)
plt.xticks(x, ['Mo', 'Tu', 'We', 'Th', 'Fr', 'Sa', 'Su'])
plt.show()

我已经试过了

代码语言:javascript
复制
my_colors = ['c', 'b', 'r', 'r', 'g', 'k', 'b']
plt.xticks(x, ['Mo', 'Tu', 'We', 'Th', 'Fr', 'Sa', 'Su'], color=my_colors)

但这不管用。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2016-09-09 10:37:43

您可以在滴答标签上循环(使用plt.gca().get_xticklabels()),并在创建它们之后使用.set_color()设置它们的颜色。例如:

代码语言:javascript
复制
from matplotlib import pyplot as plt
plt.figure(figsize=(16, 11))
x = [1, 2, 3, 4, 5, 6, 7]
y = [10, 12, 9, 10, 8, 11, 10]
plt.scatter(x, y)
plt.xticks(x, ['Mo', 'Tu', 'We', 'Th', 'Fr', 'Sa', 'Su'])

my_colors = ['c', 'b', 'r', 'r', 'g', 'k', 'b']

for ticklabel, tickcolor in zip(plt.gca().get_xticklabels(), my_colors):
    ticklabel.set_color(tickcolor)

plt.show()

票数 23
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/39409530

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档