我想制作一个这样的热图(在FlowingData上显示):
源数据在这里,但随机数据和标签可以使用,即
import numpy
column_labels = list('ABCD')
row_labels = list('WXYZ')
data = numpy.random.rand(4,4)
Run Code Online (Sandbox Code Playgroud)
在matplotlib中制作热图很容易:
from matplotlib import pyplot as plt
heatmap = plt.pcolor(data)
Run Code Online (Sandbox Code Playgroud)
我甚至发现了一个看起来正确的色彩图参数:heatmap = plt.pcolor(data, cmap=matplotlib.cm.Blues)
但除此之外,我无法弄清楚如何显示列和行的标签,并以正确的方向显示数据(原点位于左上角而不是左下角).
试图操纵heatmap.axes
(例如heatmap.axes.set_xticklabels = column_labels
)都失败了.我在这里错过了什么?
我知道如何在R中这样做.但是,pandas中是否有任何函数将数据帧转换为包含两个方面共同计数的nxn共生矩阵.
例如矩阵df:
import pandas as pd
df = pd.DataFrame({'TFD' : ['AA', 'SL', 'BB', 'D0', 'Dk', 'FF'],
'Snack' : ['1', '0', '1', '1', '0', '0'],
'Trans' : ['1', '1', '1', '0', '0', '1'],
'Dop' : ['1', '0', '1', '0', '1', '1']}).set_index('TFD')
print df
>>>
Dop Snack Trans
TFD
AA 1 1 1
SL 0 0 1
BB 1 1 1
D0 0 1 0
Dk 1 0 0
FF 1 0 1
[6 rows x 3 columns]
Run Code Online (Sandbox Code Playgroud)
会屈服:
Dop …
Run Code Online (Sandbox Code Playgroud) 我想知道你是否可以用厘米来指定matplotlib中数字的大小.目前我写道:
def cm2inch(value):
return value/2.54
fig = plt.figure(figsize=(cm2inch(12.8), cm2inch(9.6)))
Run Code Online (Sandbox Code Playgroud)
但是有原生方法吗?
是否可以使用matplotlib scikit-learn分类报告进行绘图?我们假设我打印分类报告如下:
print '\n*Classification Report:\n', classification_report(y_test, predictions)
confusion_matrix_graph = confusion_matrix(y_test, predictions)
Run Code Online (Sandbox Code Playgroud)
我得到:
Clasification Report:
precision recall f1-score support
1 0.62 1.00 0.76 66
2 0.93 0.93 0.93 40
3 0.59 0.97 0.73 67
4 0.47 0.92 0.62 272
5 1.00 0.16 0.28 413
avg / total 0.77 0.57 0.49 858
Run Code Online (Sandbox Code Playgroud)
我如何"绘制"avobe图表?
我试图绘制一个网格,其中为每个值绘制相应的颜色。例如:
[[1,1,1,1,1,1,1,1,1],
[1,0,0,0,0,0,0,0,1],
[1,0,0,0,2,2,0,0,1],
[1,0,0,0,2,2,0,0,1],
[1,1,1,1,1,1,1,1,1]]
Run Code Online (Sandbox Code Playgroud)
将显示为带有蓝色边框(代表 1)的 9x5 网格,填充黑色(代表 0),底部有一个 2x2 的红色块(代表 2)。
显然这可以完成,imshow
但我不知道语法是什么。
预先感谢您的任何帮助!
matplotlib ×4
python ×4
draw ×1
grid ×1
heatmap ×1
imshow ×1
numpy ×1
pandas ×1
scikit-learn ×1
statistics ×1