Background
我试图在一个图上显示三个变量 . 我根据其他一些变量使用不同颜色的线连接了这三个点 . 这显示在这里
Problem
我想要做的是在负x轴上有不同的比例 . 这将有助于我提供正x_ticks,不同的轴标签以及图像左侧线条的清晰和整洁的表示
Question
-
如何从0向负方向开始具有不同的正x轴?
-
根据在该方向上绘制的数据具有xticks
-
为此新轴提供单独的xlabel
Additional information
我已经检查了有关包含多个轴的其他问题,例如this和this . 但是,这些问题并没有达到目的 .
Code Used
font_size = 20
plt.rcParams.update({'font.size': font_size})
fig = plt.figure()
ax = fig.add_subplot(111)
#read my_data from file or create it
for case in my_data:
#Iterating over my_data
if condition1 == True:
local_linestyle = '-'
local_color = 'r'
local_line_alpha = 0.6
elif condition2 == 1:
local_linestyle = '-'
local_color = 'b'
local_line_alpha = 0.6
else:
local_linestyle = '--'
local_color = 'g'
local_line_alpha = 0.6
datapoint = [case[0], case[1], case[2]]
plt.plot(datapoint[0], 0, color=local_color)
plt.plot(-datapoint[2], 0, color=local_color)
plt.plot(0, datapoint[1], color=local_color)
plt.plot([datapoint[0], 0], [0, datapoint[1]], linestyle=local_linestyle, color=local_color)
plt.plot([-datapoint[2], 0], [0, datapoint[1]], linestyle=local_linestyle, color=local_color)
plt.show()
exit()
2 回答
您可以定义自定义比例,其中低于零的值与高于零的值不同 .
使用此方法,您将提供缩放参数
a
,可以缩放轴的负部分 .关于需要什么xticks和标签的问题不是很清楚,所以我现在就把它留了下来 .
这是如何得到你想要的 . 此解决方案使用两个twined
axes
对象来获得原点左侧和右侧的不同缩放,然后隐藏所有证据:输出:
这是我在上面的代码中使用的点集
p
在正常绘制时的样子:输出: