绘制matplotlib中X轴重复值的图形值

时间:2018-05-01 06:31:39

标签: python matplotlib graph

我有一些X和Y轴的样本数据如下:

x_data = ['a','a','a',
          'b','b','b',
          'c','c','c']

y_data = [1,2,3,4,5,6,7,8,9]

我想在matplotlib中绘制它,但是只绘制了3个点并且它们通过线连接,如下所示:

Sample Plot

我正在使用如下所示的简单代码:

from matplotlib import pyplot as plt
plt.plot(x_data,y_data)
plt.show()

如何在matplotlib中绘制所有9个点?

修改。

我正在努力实现以下目标:

Plot trying to achieve

1 个答案:

答案 0 :(得分:0)

首先要做的是了解x轴数据是什么。根据您在评论中的示例,您真正拥有的是这样的:

类别:A B C

样品:1,2,3,1,2,3,1,2,3

即,您有2级分层数据作为x轴。

然后快速修复只是标记x:

x = [a1,a2,a3,b1,b2,b3,c1,c2,c3]

然后你会有9个直线。但是,x轴上也有9个刻度。如果你只想要三个刻度,那么你应该看看创建主要和次要刻度,并隐藏次要刻度。

关闭小蜱: https://matplotlib.org/api/_as_gen/matplotlib.pyplot.minorticks_off.html

设置次要和主要滴答: https://matplotlib.org/examples/pylab_examples/major_minor_demo1.html

特别注意刻度线的格式化程序,因为这样可以将“a1”“a2”“a3”等格式化为“A”等。