首页 > 解决方案 > 从python字典制作二维密度图

问题描述

我有一个字典,其中包含每个键的多个值。

dict = {'400.0': [0.051198, 0.051198, 0.045406, 0.15855, 0.33586, 0.079011, 0.085342], '420.0': [0.046287, 0.046287, 0.0061685, 0.099437, 0.27868, 0.093667, 0.093032], '440.0': [0.046454, 0.046454, 0.0015765, 0.052886, 0.23238, 0.084899, 0.088889], '460.0': [0.041944, 0.041944, 0.0083426, 0.027038, 0.19666, 0.032842, 0.07963], '480.0': [0.025476, 0.025476, 0.021437, 0.02845, 0.16916, 0.066085, 0.11551], '500.0': [0.037221, 0.037221, 0.02546, 0.01049, 0.14636, 0.15647, 0.17047], '520.0': [0.020769, 0.020769, 0.057708, 0.013889, 0.11284, 0.17052, 0.15862], '540.0': [0.0029368, 0.0029368, 0.086186, 0.026225, 0.090237, 0.098873, 0.072785], '560.0': [0.0024553, 0.0024553, 0.1034, 0.057088, 0.077615, 0.048153, 0.037146], '580.0': [0.020523, 0.020523, 0.105, 0.076162, 0.067578, 0.047222, 0.062943], '600.0': [0.042838, 0.042838, 0.09883, 0.077351, 0.056873, 0.048235, 0.096264], '620.0': [0.05615, 0.05615, 0.096128, 0.073473, 0.046765, 0.031932, 0.10801], '640.0': [0.065999, 0.065999, 0.093658, 0.088445, 0.040698, 0.0082049, 0.095002], '660.0': [0.099263, 0.099263, 0.074047, 0.13282, 0.041967, 0.016028, 0.1117], '680.0': [0.14634, 0.14634, 0.028374, 0.19581, 0.071541, 0.036822, 0.14719], '700.0': [0.13285, 0.13285, 0.023217, 0.23739, 0.0053786, 0.059918, 0.17545]}

键是“x”值,字典值是“y”值。

现在我想制作一个密度图。这对 matplotlib 是否可行,如果可以,如何?非常感谢。

编辑:

我认为plt.imshow是一个不错的选择

标签: pythondictionaryplot

解决方案


This will do the work I guess. Please check and let me know. Thank you.

import pandas as pd
import matplotlib.pyplot as plt


dict1 = {
        '400.0': [0.051198, 0.051198, 0.045406, 0.15855, 0.33586, 0.079011, 0.085342],
        '420.0': [0.046287, 0.046287, 0.0061685, 0.099437, 0.27868, 0.093667, 0.093032],
        '440.0': [0.046454, 0.046454, 0.0015765, 0.052886, 0.23238, 0.084899, 0.088889],
        '460.0': [0.041944, 0.041944, 0.0083426, 0.027038, 0.19666, 0.032842, 0.07963],
        '480.0': [0.025476, 0.025476, 0.021437, 0.02845, 0.16916, 0.066085, 0.11551],
        '500.0': [0.037221, 0.037221, 0.02546, 0.01049, 0.14636, 0.15647, 0.17047],
        '520.0': [0.020769, 0.020769, 0.057708, 0.013889, 0.11284, 0.17052, 0.15862],
        '540.0': [0.0029368, 0.0029368, 0.086186, 0.026225, 0.090237, 0.098873, 0.072785],
        '560.0': [0.0024553, 0.0024553, 0.1034, 0.057088, 0.077615, 0.048153, 0.037146],
        '580.0': [0.020523, 0.020523, 0.105, 0.076162, 0.067578, 0.047222, 0.062943],
        '600.0': [0.042838, 0.042838, 0.09883, 0.077351, 0.056873, 0.048235, 0.096264],
        '620.0': [0.05615, 0.05615, 0.096128, 0.073473, 0.046765, 0.031932, 0.10801],
        '640.0': [0.065999, 0.065999, 0.093658, 0.088445, 0.040698, 0.0082049, 0.095002],
        '660.0': [0.099263, 0.099263, 0.074047, 0.13282, 0.041967, 0.016028, 0.1117],
        '680.0': [0.14634, 0.14634, 0.028374, 0.19581, 0.071541, 0.036822, 0.14719],
        '700.0': [0.13285, 0.13285, 0.023217, 0.23739, 0.0053786, 0.059918, 0.17545]}

df = pd.DataFrame(dict1)

df.plot.density()
plt.show()

推荐阅读