从matplotlib中的几个不同列表中正确发布绘图信息

时间:2019-07-19 16:26:12

标签: matplotlib colorbar

我正在尝试正确格式化存储在3个单独列表中的某些信息,但是在matplotlib中进行格式化时遇到了麻烦。我有一个可以绘制点的工作图,但我无法验证它是否正确打印。此外,在使图形以对数形式从0开始时遇到问题。我想让数据点分布得更多些,以更好地覆盖图表。我想知道如何更好地标记我的颜色条,并根据条件为特定点赋予颜色。

我已经尝试了许多教程并浏览了matplotlib文档,但是我似乎不太清楚。经过反复试验,我终于可以正常工作了graph。我真的想使图形填充页面更好,并且在可能的情况下也将轴从0开始。

这是与此相关的代码

import matplotlib.pyplot as plt
import numpy as np

deltas = []
supports = []
lifts = []
iter = 0
with open("output.txt" ,"r") as file:
    for i in file.readlines():
        x = i.split(" ")
        if len(x) == 9:
            supports.append(int(x[4]))
            lifts.append(round(float(x[8]), 3))
            delta = 0
            if (int(x[0]) < int(x[2])):
                delta = (int(x[2]) - int(x[0])) 
            else:
                delta = (int(x[0]) - int(x[2]))
            deltas.append(delta)
            iter += 1
        else:
            continue


fig, ax1 = plt.subplots()
fig.set_size_inches(13, 10)

ax1.set_xlabel('Support')
ax1.set_ylabel('Lift')
ax1.set_title('Relationship Between Support and Lift in Association Rule Mining')
plt.yscale('log')
plt.xscale('log')

c = deltas

plt.scatter(supports, lifts, c=c, cmap = 'Dark2', s = 150, alpha =0.5)
cbar = plt.colorbar()
cbar.set_label('Difference in Memory')
plt.savefig("Sup-Lift-Test.)

我正在从格式正确的输入文件中读取特定信息,因此尽管它看起来很奇怪,但不用担心,这很好。我想知道的是,如何分辨正确的升力/支撑正确格式化了增量。我所有的观点都是彩色的,但是我现在已经使用MPL大约3天了,所以我还不完全了解MPL在后台如何处理这些问题。从理论上讲,每个列表应并行工作。意思是,lifts [0],supports [0]和deltas [0]都应该指的是同一件事。因此,请专注于我的问题:

  1. 如何使图形显示的点更饱满
  2. 如何确保从每个列表中映射出正确的点。
  3. 如果我要做一个条件,那就是检查增量并绘制图 如果颜色在特定范围内,我该怎么做。例如,我希望我的颜色条以百分比表示,如果一个点<10%,给它一种颜色,如果它的<25%给它另一种,等等。
  4. 是否可以将轴更改为从0开始?每次我尝试使用plt.axis([0,n,0,n])时,其中n是我的最大限制,这是行不通的。

谢谢。

0 个答案:

没有答案