首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Matplotlib:不同标记和标签的熊猫数据栏

Matplotlib:不同标记和标签的熊猫数据栏
EN

Stack Overflow用户
提问于 2015-11-04 13:44:17
回答 2查看 2.5K关注 0票数 0

我有一只名叫red_all的熊猫,它看起来像这样:

代码语言:javascript
复制
      a*         b*  
s1    32.649998 9.950000
s2    45.359997 18.160000
s3    50.539997 23.759998
s4    54.269997 33.019997
s5    44.219997 29.029999
s6    32.349998 20.830000
s7    17.320000 12.360000

我想把b* (y轴)和a* (x轴)相提并论,每个点都有不同的标记和不同的标签。到目前为止,我已经尝试过:

代码语言:javascript
复制
s = ['o','v','<','>','p','s','8']
dis_red = ['6.3%r/94.7%w','25%r/75%w','50%r/50%w','red','98.5%r/1.5%b','94.1r/5.9%b','80%r/20%b']

plt.figure(1)
plt.plot(red_all['a*'], red_all['b*'], 'r', marker=s, label=dis_red)
plt.grid()
plt.axis([-60, 60, -60, 85])
plt.xlabel('Chromaticity a*',fontsize=16, fontweight = 'bold')
plt.ylabel('Chromaticity b*', fontsize=16, fontweight = 'bold')
plt.legend(loc='best')

当我试图运行它时,我得到:

代码语言:javascript
复制
ValueError: Unrecognized marker style ['o', 'v', '<', '>', 'p', 's', '8']

我怎么才能解决这个问题?谢谢

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2015-11-04 14:31:36

也许你在寻找一个散点图:

代码语言:javascript
复制
vx = [0, 1, 2, 3, 4, 5, 6]
vy = [0, 1, 2, 3, 4, 5, 6]

s = ['o','v','<','>','p','s','8']
l = ['label%s' % i for i in range(7)]

for x, y, marker, label in zip(vx, vy, s, l):
    plt.scatter(x, y, c='r', marker=marker)
    plt.annotate(label, (x, y))

票数 0
EN

Stack Overflow用户

发布于 2015-11-04 15:36:49

这是另一种我想做的事:

代码语言:javascript
复制
figure1_red = zip(red_all['a*'].values,red_all['b*'].values,s,dis_red)
plt.figure(1)
for i in range(0,len(red_all['a*'])):
    plt.plot(figure1_red[i][0],figure1_red[i][1],'r',marker=figure1_red[i][2],label=figure1_red[i][3])
plt.grid()
plt.xlabel('Chromaticity a*',fontsize=16, fontweight = 'bold')
plt.ylabel('Chromaticity b*', fontsize=16, fontweight = 'bold')
plt.legend(loc='best')

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

https://stackoverflow.com/questions/33523476

复制
相关文章

相似问题

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