数据可视化

Posted 秋雨秋雨秋雨

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了数据可视化相关的知识,希望对你有一定的参考价值。

数据可视化:

1、绘制散点图:

import matplotlib;
from pandas import read_csv;
import matplotlib.pyplot as plt;

data = read_csv("C:\\\\PA\\\\5.1\\\\data.csv")

font = {
    \'family\' : \'SimHei\'
}
matplotlib.rc(\'font\', **font);

plt.plot(data[\'广告费用\'], data[\'购买用户数\'], \'.\')

#plt.plot(data[\'广告费用\'], data[\'购买用户数\'], \'o\')

#plt.plot(data[\'广告费用\'], data[\'购买用户数\'], \'o\', color=\'yellow\')
#plt.plot(data[\'广告费用\'], data[\'购买用户数\'], \'o\', color=(1, 1, 0))
#plt.plot(data[\'广告费用\'], data[\'购买用户数\'], \'o\', color=\'#FFFF00\')
plt.plot(data[\'广告费用\'], data[\'购买用户数\'], \'.\')

plt.xlabel(\'广告费用\');

plt.ylabel(\'购买用户数\');
plt.grid(True);

plt.show();

 2、折线图:

import pandas;
from pandas import read_csv;
from matplotlib import pyplot as plt;

data = read_csv(\'C:\\\\PA\\\\5.2\\\\data.csv\');
#对日期格式进行转换
data[\'购买日期\']=pandas.to_datetime(data[\'日期\']);

#\'-\'    顺滑的曲线
plt.plot(data[\'购买日期\'], data[\'购买用户数\'], \'-\');

#设置颜色
plt.plot(data[\'购买日期\'], data[\'购买用户数\'], \'-\', color=\'r\');
#设置线条粗细
plt.plot(data[\'购买日期\'], data[\'购买用户数\'], \'-\', color=\'r\', lineWidth=10);

#\'--\'    虚线
plt.plot(data[\'购买日期\'], data[\'购买用户数\'], \'--\');
#\'-.\'    线加点
plt.plot(data[\'购买日期\'], data[\'购买用户数\'], \'-.\');
#\':\'    由点组成的曲线
plt.plot(data[\'购买日期\'], data[\'购买用户数\'], \':\');
#\'.\'    散点图
plt.plot(data[\'购买日期\'], data[\'购买用户数\'], \'.\');
#\',\'    像素点的散点图
plt.plot(data[\'购买日期\'], data[\'购买用户数\'], \',\');
#\'o\'    大点的散点图
plt.plot(data[\'购买日期\'], data[\'购买用户数\'], \'o\');
#\'v\'    下三角标记的散点图
plt.plot(data[\'购买日期\'], data[\'购买用户数\'], \'v\');
#\'^\'    上上角标记的散点图
plt.plot(data[\'购买日期\'], data[\'购买用户数\'], \'^\');
#\'<\'    左角标记的散点图
plt.plot(data[\'购买日期\'], data[\'购买用户数\'], \'<\');
#\'>\'    右角标记的散点图
plt.plot(data[\'购买日期\'], data[\'购买用户数\'], \'>\');
#\'1\'    伞形下的标记散点图
#\'2\'    伞形上的标记散点图
#\'3\'    伞形左的标记散点图
#\'4\'    伞形右的标记散点图
plt.plot(data[\'购买日期\'], data[\'购买用户数\'], \'4\');
#\'s\'    正方形标记的散点图
plt.plot(data[\'购买日期\'], data[\'购买用户数\'], \'s\');
#\'p\'    五角形标记的散点图
plt.plot(data[\'购买日期\'], data[\'购买用户数\'], \'p\');
#\'*\'    五角星标记的散点图
plt.plot(data[\'购买日期\'], data[\'购买用户数\'], \'*\');
#\'h\'    多边形标记的散点图
#\'H\'    hexagon2 marker
plt.plot(data[\'购买日期\'], data[\'购买用户数\'], \'h\');
#\'+\'    plus marker
#\'x\'    x marker
#\'D\'    diamond marker
#\'d\'    thin_diamond marker
plt.plot(data[\'购买日期\'], data[\'购买用户数\'], \'D\');
#\'|\'    vline marker
#\'_\'    hline marker
plt.plot(data[\'购买日期\'], data[\'购买用户数\'], \'|\');

plt.title(\'购买用户数时间序列图\');

plt.show();

3、饼图:

# -*- coding: utf-8 -*-
import numpy;
import matplotlib;
from pandas import read_csv;
import matplotlib.pyplot as plt;

data = read_csv(\'C:\\\\PA\\\\5.3\\\\data.csv\');

gb = data.groupby(
    by=[\'通信品牌\'], 
    as_index=False
)[\'号码\'].agg({
    \'用户数\':numpy.size
});

#pip install matplotlib

font = {
    \'family\' : \'SimHei\'
}

matplotlib.rc(\'font\', **font);

plt.pie(gb[\'用户数\'], labels=gb[\'通信品牌\'], autopct=\'%.2f%%\');

plt.show()

4、柱形图:

简单条形图:

import numpy;
import matplotlib;
from pandas import read_csv;
from matplotlib import pyplot as plt;

font = {
    \'family\' : \'SimHei\'
};
matplotlib.rc(\'font\', **font);

data = read_csv(\'C:\\\\PA\\\\5.4\\\\data.csv\');

gb = data.groupby(
    by=[\'手机品牌\']
)[\'月消费(元)\'].agg({
    \'月消费\': numpy.sum
});

index = numpy.arange(gb[\'月消费\'].size);

#竖向柱形图
plt.bar(index, gb[\'月消费\'], 1, color=\'G\');
plt.show();

plt.bar(index, gb[\'月消费\'], 1, color=\'G\');
plt.xticks(index + 1/2, gb.index);
plt.show();

#横向柱形图
plt.barh(index, gb[\'月消费\'], 1, color=\'G\');
plt.yticks(index + 1/2, gb.index);
plt.show();

复杂些的:

import numpy;
import matplotlib;
from pandas import read_csv;
from matplotlib import pyplot as plt;

font = {
    \'family\' : \'SimHei\'
};
matplotlib.rc(\'font\', **font);

data = read_csv(\'C:\\\\PA\\\\5.4\\\\data.csv\');

d1 = \'手机品牌\';
d2 = \'通信品牌\';
v = "月消费";

gb = data.groupby(by=[d1, d2])[\'月消费(元)\'].agg({v: numpy.sum});

d1size = gb.index.levels[0].size;
d2size = gb.index.levels[1].size;

index = numpy.arange(d1size);
colors=[\'r\', \'g\', \'b\'];

for i in range(0, d2size): 
    print(i);
    subgb = gb[v][gb.index.labels[1]==i];
    bar = plt.bar(index*d2size + i, subgb, color=colors[i]);

lIndex = numpy.arange(d1size)*d2size;
plt.xticks(lIndex + 3/2, gb.index.levels[0]);

plt.legend(gb.index.levels[1]);
plt.show();

堆叠图:

import numpy;
import matplotlib;
from pandas import read_csv;
from matplotlib import pyplot as plt;

font = {
    \'family\' : \'SimHei\'
};
matplotlib.rc(\'font\', **font);

data = read_csv(\'C:\\\\PA\\\\5.4\\\\data.csv\');

d1 = \'手机品牌\';
d2 = \'通信品牌\';
v = "月消费";

gb = data.groupby(by=[d1, d2])[\'月消费(元)\'].agg({v: numpy.sum});

d1size = gb.index.levels[0].size;
d2size = gb.index.levels[1].size;

index = numpy.arange(d1size);
colors = [\'r\', \'g\', \'b\'];
bsum = index*0.0;

for i in range(0, d2size): 
    print(i);
    subgb = gb[v][gb.index.labels[1]==i];    
    bar = plt.bar(index, subgb, color=colors[i], bottom=bsum);
    bsum += subgb;

plt.xticks(index+1/2, gb.index.levels[0]);

plt.legend(gb.index.levels[1]);
plt.show();

5、直方图:

import matplotlib;
from pandas import read_csv;
from matplotlib import pyplot as plt;

font = {
    \'family\' : \'SimHei\'
};
matplotlib.rc(\'font\', **font);

data = read_csv(\'C:\\\\python\\\\5.5\\\\data.csv\');

plt.hist(data[\'购买用户数\']);
plt.show();

plt.hist(data[\'购买用户数\'], bins=20);
plt.show();

plt.hist(data[\'购买用户数\'], bins=20, cumulative=True);
plt.show();

 

以上是关于数据可视化的主要内容,如果未能解决你的问题,请参考以下文章

Python优雅地可视化数据

CSS可视化工具-助力快速开发css片段

CSS可视化工具-助力快速开发css片段

10个可视化 CSS 工具, 快速生成 CSS 片段

超全超香,数据分析与数据挖掘最频繁使用代码合集来了

Flutter 布局备忘录