首页 > 解决方案 > 如何通过在python中连接它们来绘制相互关联的下降条和上升曲线?

问题描述

我想知道是否可以按降序绘制条形图和另一条相互关联并且应该以某种方式连接的上升曲线。我尝试了一些代码,但我只能单独绘制条形图和曲线,但我无法绘制虚线曲线,使其可以像下面的目标结果一样穿过箱的中心,我也无法弄清楚我是如何可以改变最小条橙色的颜色:

import matplotlib.pyplot as plt; plt.rcdefaults()
import numpy as np
import matplotlib.pyplot as plt

objects = ('ResNet', 'GoogleNet', 'VGG', 'ZFNet', 'AlexNet', 'b', 'c')
y_pos = np.arange(len(objects))
performance = [3.57,6.7,7.3,11.7,16.4,25.8,28.2]
your_y_coordinates=[152,22,19,8,8,1,1]
plt.plot(y_pos, your_y_coordinates, '--', label='layers',color='orange',linewidth=1.5 , marker='o',)
plt.bar(y_pos, performance, align='center', alpha=0.5)
plt.xticks(y_pos, objects)
y_pos, objects = plt.xticks()

plt.ylabel('Error rate [%]')
plt.title('ImageNet Classification top-5 error %')
for i, v in enumerate(performance):
    plt.text(y_pos[i] - 0.25, v + 0.01, str(v))

x_position = [1,6,2,7,4,5]
y_position = [8,4,7,7,2,4]

plt.plot(x_position, y_position, 'rx')

labels = ['hi'.format(i) for i in range(len(x_position))]
for label, x, y in zip(labels, x_position, y_position):
    plt.annotate(label, xy=(x, y), xytext=(2, 2), bbox=dict(boxstyle='round,pad=0.2', fc='yellow', alpha=0.3))
plt.legend()
plt.show()

图像

标签: pythonmatplotlib

解决方案


推荐阅读