小编Jsg*_*g91的帖子

在matplotlib中创建表

我正在尝试使用matplotlib创建一个表,我已经设法获取我的数据,但我正在努力进行最终格式化.我需要编辑图形的大小以包含我的所有数据,因为有些内容正在被删除.这是我目前的代码:

for struct, energy, density in clust_data:
    fig=plt.figure()
    ax = plt.gca()
    ax.xaxis.set_visible(False)
    ax.yaxis.set_visible(False)
    colLabels=("Structure", "Energy", "Density")
    rows=len(clust_data)
    cellText=[]
    for row in clust_data:
        cellText.append(row)
    the_table = ax.table(cellText=cellText,
              colLabels=colLabels,
              loc='center')
    plt.savefig("table.png")
Run Code Online (Sandbox Code Playgroud)

这会创建一个像这样的表(我不完全确定如何通过某些行来获取行): 在此输入图像描述

任何帮助是极大的赞赏!

python matplotlib

15
推荐指数
2
解决办法
3万
查看次数

从matplotlib图中删除特定的刻度

我试图从下面的情节中删除原点蜱以阻止它们重叠,或者只是将它们彼此远离也会很好我试过这个:

在此输入图像描述

xticks = ax.xaxis.get_major_ticks()
xticks[0].label1.set_visible(False)
yticks = ax.yaxis.get_major_ticks()
yticks[0].label1.set_visible(False)
Run Code Online (Sandbox Code Playgroud)

然而,这样就从y轴上删除了第一个和最后一个刻度,如下所示:

在此输入图像描述

有没有人知道如何做到这一点?任何帮助将不胜感激.

编辑:添加了更多示例代码

import matplotlib
import matplotlib.pyplot as plt
fig = plt.figure()
ax = fig.add_subplot(111)
plt.xlabel(xlab)
plt.ylabel(ylab)
ax.spines["right"].set_color('none')
ax.xaxis.set_ticks_position('top')
ax.yaxis.set_ticks_position('left')
ax.spines["bottom"].set_color('none')
ax.xaxis.set_label_position('top')
ax.spines['left'].set_color('black')
ax.spines['top'].set_color('black')
ax.tick_params(colors='black')
xticks = ax.xaxis.get_major_ticks()
xticks[0].label1.set_visible(False)
yticks = ax.yaxis.get_major_ticks()
yticks[-1].label1.set_visible(False)
for x, y in all:
    ax.plot(x, y, 'ro')
Run Code Online (Sandbox Code Playgroud)

python matplotlib

7
推荐指数
3
解决办法
8299
查看次数

绘制每个键具有多个值的字典

我有一本看起来像这样的字典:

1: ['4026', '4024', '1940', '2912', '2916], 2: ['3139', '2464'], 3:['212']...
Run Code Online (Sandbox Code Playgroud)

对于几百个键,我想用键作为 y 为其一组 x 值绘制它们,我尝试了这段代码,它给出了下面的错误:

for rank, structs in b.iteritems():
    y = b.keys()
    x = b.values()
    ax.plot(x, y, 'ro')
    plt.show()

ValueError: setting an array element with a sequence
Run Code Online (Sandbox Code Playgroud)

我对如何进行有点不知所措,所以任何帮助将不胜感激!

python dictionary matplotlib

4
推荐指数
1
解决办法
3866
查看次数

列表中的编号元素

我有一个列表:

[1,1,3,3,3,3,3,3,3,3,3,3,3,3,3,3,1,1,1,1,1,1,1,1]

我想用大于2的值打印列表的所有元素,但也打印列表中的位置,我可以自己打印元素:

for bonds in number_of_bonds:       
    if bonds >= 2:
         print bonds
Run Code Online (Sandbox Code Playgroud)

但是,如果我使用枚举,它将打印列表中的所有项目,其位置如下:

(0, 1)
(1, 1)
(2, 3)
Run Code Online (Sandbox Code Playgroud)

等等

那么这样做的正确方法是什么?

python list

1
推荐指数
2
解决办法
204
查看次数

标签 统计

python ×4

matplotlib ×3

dictionary ×1

list ×1