在 matplotlib 中绘制字符串值
我正在使用 matplotlib 进行绘图应用程序。我正在尝试创建一个以字符串作为 X 值的图表。但是,using plot
函数需要 X 的数值。
如何使用字符串 X 值?
I am using matplotlib for a graphing application. I am trying to create a graph which has strings as the X values. However, the using plot
function expects a numeric value for X.
How can I use string X values?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(5)
从 matplotlib 2.1 开始,您可以在绘图函数中使用字符串。
请注意,为了保留绘图上输入字符串的顺序,您需要使用 matplotlib >=2.2。
From matplotlib 2.1 on you can use strings in plotting functions.
Note that in order to preserve the order of the input strings on the plot you need to use matplotlib >=2.2.
你应该尝试xticks
You should try xticks
为什么不直接将 x 值设为某个自动递增的数字,然后更改标签呢?
--杰德
Why not just make the x value some auto-incrementing number and then change the label?
--jed
这是我知道的一种可行的方法,尽管我认为创建自定义符号是实现此目的的更自然的方法。
因此,这将“dp1”,“dp2”,...代替每个原始数据符号 - 本质上创建自定义“文本符号”,尽管我再次相信有一种更直接的方法可以在 matplotlib 中做到这一点(不使用艺术家)。
Here's one way which i know works, though i would think creating custom symbols is a more natural way accomplish this.
So this puts "dp1", "dp2",... in place of each of the original data symbols--in essence creating custom "text symbols" though again i have to believe there's a more direct way to do this in matplotlib (without using Artists).
我找不到一个方便的方法来完成这个任务,所以我求助于这个小辅助函数。
然后,调用plot_classes(data [“class”],data [“y”],marker =“+”)应该按预期工作。
I couldn't find a convenient way to accomplish that, so I resorted to this little helper function.
Then, calling
plot_classes(data["class"], data["y"], marker="+")
should work as expected.