精华内容
下载资源
问答
  • 4 Band 4 0.005679 0.026662 0.014529 0.006505 我想创建一个有8条线的概率密度图,其中4条带代表“红色”,另一条带代表“黑色”,到目前为止,在红色和黑色的roi中,我只有1条带。但是我的代码输出了两个不同的图...

    我知道这最终会是一个非常混乱的情节,但我很想知道最有效的方法是什么。我有一些csv文件中的数据如下所示:ROI Band Min Max Mean Stdev

    1 red_2 Band 1 0.032262 0.124425 0.078073 0.028031

    2 red_2 Band 2 0.021072 0.064156 0.037923 0.012178

    3 red_2 Band 3 0.013404 0.066043 0.036316 0.014787

    4 red_2 Band 4 0.005162 0.055781 0.015526 0.013255

    5 red_3 Band 1 0.037488 0.10783 0.057892 0.018964

    6 red_3 Band 2 0.02814 0.07237 0.04534 0.014507

    7 red_3 Band 3 0.01496 0.112973 0.032751 0.026575

    8 red_3 Band 4 0.006566 0.029133 0.018201 0.006897

    9 red_4 Band 1 0.022841 0.148666 0.065844 0.0336

    10 red_4 Band 2 0.018651 0.175298 0.046383 0.042339

    11 red_4 Band 3 0.012256 0.045111 0.024035 0.009711

    12 red_4 Band 4 0.001493 0.033822 0.014678 0.007788

    13 red_5 Band 1 0.030513 0.18098 0.090056 0.044456

    37 bcs_1 Band 1 0.013059 0.076753 0.037674 0.023172

    38 bcs_1 Band 2 0.035227 0.08826 0.057672 0.015005

    39 bcs_1 Band 3 0.005223 0.028459 0.010836 0.006003

    40 bcs_1 Band 4 0.009804 0.031457 0.018094 0.007136

    41 bcs_2 Band 1 0.018134 0.083854 0.040654 0.018333

    42 bcs_2 Band 2 0.016123 0.088613 0.045742 0.020168

    43 bcs_2 Band 3 0.008065 0.030557 0.014596 0.007435

    44 bcs_2 Band 4 0.004789 0.016514 0.009815 0.003241

    45 bcs_3 Band 1 0.021092 0.077993 0.037246 0.013696

    46 bcs_3 Band 2 0.011918 0.068825 0.028775 0.013758

    47 bcs_3 Band 3 0.003969 0.021714 0.011336 0.004964

    48 bcs_3 Band 4 0.003053 0.015763 0.006283 0.002425

    49 bcs_4 Band 1 0.024466 0.079989 0.049291 0.018032

    50 bcs_4 Band 2 0.009274 0.093137 0.041979 0.019347

    51 bcs_4 Band 3 0.006874 0.027214 0.014386 0.005386

    52 bcs_4 Band 4 0.005679 0.026662 0.014529 0.006505

    我想创建一个有8条线的概率密度图,其中4条带代表“红色”,另一条带代表“黑色”,到目前为止,在红色和黑色的roi中,我只有1条带。但是我的代码输出了两个不同的图。我试过使用subflot,但那对我不起作用。

    帮忙?我知道我的方法是冗长和笨拙的,所以聪明的解决方案非常感谢!

    加载包import csv

    import numpy as np

    import pandas as pd

    import matplotlib.pyplot as plt

    files = ['example.csv']

    整理数据for f in files:

    fn = f.split('.')[0]

    dat = pd.read_csv(f)

    df0 = dat.loc[:, ['ROI', 'Band', 'Mean']]

    # parse by soil type

    red = df0[df0['ROI'].str.contains("red")]

    black = df0[df0['ROI'].str.contains("bcs")]

    # parse by band

    red.b1 = red[red['Band'].str.contains("Band 1")]

    red.b2 = red[red['Band'].str.contains("Band 2")]

    red.b3 = red[red['Band'].str.contains("Band 3")]

    red.b4 = red[red['Band'].str.contains("Band 4")]

    black.b1 = black[black['Band'].str.contains("Band 1")]

    black.b2 = black[black['Band'].str.contains("Band 2")]

    black.b3 = black[black['Band'].str.contains("Band 3")]

    black.b4 = black[black['Band'].str.contains("Band 4")]

    绘制图形pd.DataFrame(black.b1).plot(kind="density")

    pd.DataFrame(red.b1).plot(kind="density")

    plt.show()

    fb05ebb3708a5d9d27cbb80cd79cf5c4.png

    我想让这个数字有8行。

    展开全文
  • 我有一个.txt文件,其中包含二维地图中规则间距点的x,y值,第三个坐标是该点的密度。4.882812500000000E-004 4.882812500000000E-004 0.90722671.464843750000000E-003 4.882812500000000E-004 1.4051742....

    我有一个.txt文件,其中包含二维地图中规则间距点的x,y值,第三个坐标是该点的密度。4.882812500000000E-004 4.882812500000000E-004 0.9072267

    1.464843750000000E-003 4.882812500000000E-004 1.405174

    2.441406250000000E-003 4.882812500000000E-004 24.32851

    3.417968750000000E-003 4.882812500000000E-004 101.4136

    4.394531250000000E-003 4.882812500000000E-004 199.1388

    5.371093750000000E-003 4.882812500000000E-004 1278.898

    6.347656250000000E-003 4.882812500000000E-004 1636.955

    7.324218750000000E-003 4.882812500000000E-004 1504.590

    8.300781250000000E-003 4.882812500000000E-004 814.6337

    9.277343750000000E-003 4.882812500000000E-004 273.8610

    在gnuplot中绘制密度图时,使用以下命令:set palette rgbformulae 34,35,0

    set size square

    set pm3d map

    splot "dens_map.map" u 1:2:(log10($3+10.)) title "Density map"`

    这给了我一个美丽的形象:

    现在我想得到与matplotlib相同的结果。

    展开全文
  • 成为更好的自己前言在前几天对数据分析师与算法工程师进行岗位对比分析的文章中,我们使用了密度分布和箱线图对薪资水平与学历对薪资的影响进行了分析,那么早起就对这两种图形的绘制方法进行解析,也借着这个机会...

    点击上方『早起python』关注早起

    和我一起,成为更好的自己

    daecdbc75206cf4c875d878930c4f35a.gif

    前言

    在前几天对数据分析师与算法工程师进行岗位对比分析的文章中,我们使用了密度分布图和箱线图对薪资水平与学历对薪资的影响进行了分析,那么早起就对这两种图形的绘制方法进行解析,也借着这个机会讲一下我最喜欢的绘图包:ggplot2

    密度分布图

    频率分布直方图中,当样本容量充分放大时,图中的组距就会充分缩短,这时图中的阶梯折线就会演变成一条光滑的曲线,这条曲线就称为总体的密度分布曲线。这条曲线排除了由于取样不同和测量不准所带来的误差,能够精确地反映总体的分布规律,密度分布图其实就是密度分布曲线的填充。原文的的密度分布图的绘制软件为R,为啥不用Python?研究了一圈绘制出来图形都不够好看018c61c1338ac8bd0f2b342ebf7b4895.png那么具体怎么画呢?首先把数据整理成这样?

    18c69851d40ade947dd5a592591bf314.png

    一列是职位名称一列是对应的薪资,然后启动R读取数据并修改两个列名

    #读取数据
    data = read.csv('gongzi.csv')
    #修改列名
    names(data)[1:2]"professional","salary")

    接着使用下面的代码加载ggplot2,并设置x轴,此时图形长这样?

    04d91960a19081a49416ac3687f4fd82.png

    接下来我们使用下面代码添加密度曲线

    p + geom_density()

    8d6874fb3fc3710cdbe99ca7b44c4d0c.png

    此时虽然整出来密度曲线,但是并没有根据两个岗位进行区分,因此我们使用下面代码区分开两个岗位,注意里面函数里面color就是指定岗位

    p + geom_density(aes(color = professional))

    d6a3d130456748a9196f00f49fff4ded.png

    OK,成功对不同岗位进行了区分,只剩下最后一步填充,并且有没有发现坐标轴是以科学计数法呈现的,我们也对这一块处理一下

    options(scipen=200)
    p + geom_density(aes(fill = professional), alpha=0.4) + xlim(0,80000)

    options(scipen=200)就是用来处理坐标轴的科学计数法,并且我们的x轴不需要那么大的范围,因此使用xlim(0,80000)来调整,这样我们就做出了漂亮的密度分布图

    ad6512c6303a974a41a9bc3266550cba.png

    为了读者可以从图中读到更多信息,我们再将两个岗位的平均薪资线添加进去,首先计算两个岗位的平均薪资并创建为dataframe

    6a53a4864c3945c1c22a8c22b30dce66.png

    接着使用下面一行命令即可

    p + geom_density(aes(fill = professional), alpha=0.4) + xlim(0,80000) + geom_vline(data = mean, aes(xintercept = salary,color=professional),linetype="dashed")

    来看看最终效果,学会了吗

    66dd9bdc6773e7474f4da36b1abfdf52.png

    结束语

    以上就是使用R绘制漂亮的密度分布图过程,我已将原始数据放在公众号后台回复招聘获取,感兴趣的读者可以利用原始数据自己使用python进行处理得到我们需要的数据格式再绘制最后留一个问题,怎样绘制学历关于薪资的箱线图?怎样实现箱子大小根据不同样本量而变化?且看下回推文。

    往期内容(?猛戳可查看)0d0e455073abcf7e4f351d79fd8e5a68.gif热门文章:情人节网站岗位对比分析爬取网易云音乐爬取钉钉评价自动追踪快递Python画樱花Python斗地主Matplotlib神器全球疫情动态图0d0e455073abcf7e4f351d79fd8e5a68.gif数据分析:统计检验数据分析报告数据分析技巧数据可视化Pandas学习缺失值处理Python库整理数据降维疫情数据汇总

    ddbfa5969b94e3681fd9dcf70ce2f812.png

    记得点个在看支持下~?7388cc2bbee1ff458435439760d9be7a.png
    展开全文
  • 点击上方『早起python』关注早起和我一起,成为更好的自己前言在前几天对数据分析师与算法工程师进行岗位对比分析的文章中,我们使用了密度分布和箱线图对薪资水平与学历对薪资的影响进行了分析...

    点击上方『早起python』关注早起

    和我一起,成为更好的自己

    前言

    在前几天对数据分析师与算法工程师进行岗位对比分析的文章中,我们使用了密度分布图和箱线图对薪资水平与学历对薪资的影响进行了分析,那么早起就对这两种图形的绘制方法进行解析,也借着这个机会讲一下我最喜欢的绘图包:ggplot2

    密度分布图

    频率分布直方图中,当样本容量充分放大时,图中的组距就会充分缩短,这时图中的阶梯折线就会演变成一条光滑的曲线,这条曲线就称为总体的密度分布曲线。这条曲线排除了由于取样不同和测量不准所带来的误差,能够精确地反映总体的分布规律,密度分布图其实就是密度分布曲线的填充。

    原文的的密度分布图的绘制软件为R,为啥不用Python?研究了一圈绘制出来图形都不够好看那么具体怎么画呢?首先把数据整理成这样????

    一列是职位名称一列是对应的薪资,然后启动R读取数据并修改两个列名

    #读取数据
    data = read.csv('gongzi.csv')
    #修改列名
    names(data)[1:2]<-c("professional","salary")

    接着使用下面的代码加载ggplot2,并设置x轴,此时图形长这样????

    接下来我们使用下面代码添加密度曲线

    p + geom_density()

    此时虽然整出来密度曲线,但是并没有根据两个岗位进行区分,因此我们使用下面代码区分开两个岗位,注意里面函数里面color就是指定岗位

    p + geom_density(aes(color = professional))

    OK,成功对不同岗位进行了区分,只剩下最后一步填充,并且有没有发现坐标轴是以科学计数法呈现的,我们也对这一块处理一下

    options(scipen=200)
    p + geom_density(aes(fill = professional), alpha=0.4) + xlim(0,80000)

    options(scipen=200)就是用来处理坐标轴的科学计数法,并且我们的x轴不需要那么大的范围,因此使用xlim(0,80000)来调整,这样我们就做出了漂亮的密度分布图

    为了读者可以从图中读到更多信息,我们再将两个岗位的平均薪资线添加进去,首先计算两个岗位的平均薪资并创建为dataframe

    接着使用下面一行命令即可

    p + geom_density(aes(fill = professional), alpha=0.4) + xlim(0,80000) + geom_vline(data = mean, aes(xintercept = salary,color=professional),linetype="dashed")

    来看看最终效果,学会了吗

    结束语

    以上就是使用R绘制漂亮的密度分布图过程,我已将原始数据放在公众号后台回复招聘获取,感兴趣的读者可以利用原始数据自己使用python进行处理得到我们需要的数据格式再绘制最后留一个问题,怎样绘制学历关于薪资的箱线图?怎样实现箱子大小根据不同样本量而变化?且看下回推文。

    往期内容(????猛戳可查看

    热门文章:

    情人节网站岗位对比分析爬取网易云音乐

    爬取钉钉评价自动追踪快递Python画樱花

    Python斗地主Matplotlib神器全球疫情动态图

    数据分析:

    统计检验数据分析报告数据分析技巧

    数据可视化Pandas学习缺失值处理

    Python库整理数据降维疫情数据汇总

    记得点个在看支持下~????

    展开全文
  • 我试图用seaborn.distplot()绘制一个密度图(即直方图图的平滑近似值),得到如下图:上面的图的问题是最左边的等高线延伸到了-1.0之外,我不希望这样,因为相似性分数不能小于-1.0(即,它应该只在闭合区间[-1.0, 1.0]...
  • 最初遇到这个问题的时候,找到的大答案是绘制contour,比如: http://stackoverflow.com/questions/24119920/how-to-plot-a-density-map-in-python?rq=1​ 这当然很漂亮,但是这需要有三列数字来标示一个平面;...
  • 最初遇到这个问题的时候,找到的大答案是绘制contour,比如:http://stackoverflow.com/questions/24119920/how-to-plot-a-density-map-in-python?rq=1​这当然很漂亮,但是这需要有三列数字来标示一个平面;...
  • 本文将通过一个有趣的数据实例教大家如何通过python调用百度api 然后用pyecharts进行绘制全国影院密度分布, 绘图效果如下: 由于本文篇幅较长,本文分上下两文。 上文主要讲解如何对已有数据通过Baidu Api...
  • 这篇文章主要为大家详细介绍了Python绘制中国大陆人口热力图,具有一定的参考价值,感兴趣的小伙伴们可以参考一下这篇文章给出了如何绘制中国人口密度图,但是运行存在一些问题,我在一些地方进行了修改。...
  • 相较GraphPad Prism 7.0老版本GraphPad Prism 8.0...小提琴图(Violin plots)是箱线图与核密度图的结合,因其形态类似小提琴而得名。小提琴图在文献中使用很多,下图是国际知名期刊PNAS(美国科学院院报)2017年上...
  • 上文介绍了如何调用百度api,获取城市名及经纬度, 本文完成上文后续工作。 现在已经知道了每个城市的影院数量,接下来怎么获取城市面积呢。截止目前,我未在网上找到这 样的一个数据库(不过现在有了哈哈)。那么...
  • 本博文源于上一篇博文的函数格式的应用,链接如下: 本博文就以例子方式讲解如何绘出分布概率密度图绘制
  • 我们知道在 R 语言中有专用的绘图函数 smoothScatter ()可以实现,在 MATLAB 中也有可以用 plotScat.m 的内嵌函数,在 Python 中可以使用 pandas和MatPlotLib 中的相应功能,那么在 Origin 中如何绘制散点密度图呢?...
  • 点击图片上方蓝色字体GIS点滴即可订阅如何才能用ArcGIS画出“百度地图热力”中的那种炫酷的热力,来反应采样点密集程度,而且当他进行缩放时热力的形状也要能动态改变,就像下面左图、右图这样:客户的需求是...
  • 这篇文章给出了如何绘制中国人口密度图,但是运行存在一些问题,我在一些地方进行了修改。本人使用的IDE是anaconda,因此事先在anaconda prompt 中安装Basemap包conda install Basemap新建文档,导入需要的包import ...
  • 这篇文章给出了如何绘制中国人口密度图,但是运行存在一些问题,我在一些地方进行了修改。 本人使用的IDE是anaconda,因此事先在anaconda prompt 中安装Basemap包 conda install Basemap 新建文档,导入需要的包 ...
  • 专栏推荐绘图的变量单变量查看单变量最方便的无疑是displot()函数,默认绘制一个直方,并你核密度估计(KDE)sns.set(color_codes=True)np.random.seed(sum(ord,"distributions"))x=np.random.gamma(6,size=200)z这...
  • https://mp.weixin.qq.com/s/Bh-L3syzJSHhLPZqzHvIyA这篇文章给出了如何绘制中国人口密度图,但是运行存在一些问题,我在一些地方进行了修改。本人使用的IDE是anaconda,因此事先在anaconda prompt 中安装Basemap包...
  • 在python中一般采用matplotlib库的hist来绘制直方,至于如何给直方添加拟合曲线(密度函数曲线),一般来说有以下两种方法。 方法一:采用matplotlib中的mlab模块 mlab模块是Python中强大的3D作图工具,立体感...
  • 今天咱们还是接着上次的话题,继续和大家聊聊关于Python绘图相关的东东哦,上次...首先,咱们聊聊在Python中如何绘制经典的堆积折线哦到这可能有朋友会问了:什么是堆积折线呢?其实这个堆积折线在咱们日常生...
  • 在python中一般采用matplotlib库的hist来绘制直方,至于如何给直方添加拟合曲线(密度函数曲线),一般来说有以下两种方法。方法一:采用matplotlib中的mlab模块mlab模块是Python中强大的3D作图工具,立体感效...
  • 利用Python绘制中国大陆人口热力

    万次阅读 多人点赞 2018-06-23 22:32:14
    https://mp.weixin.qq.com/s/Bh-L3syzJSHhLPZqzHvIyA这篇文章给出了如何绘制中国人口密度图,但是运行存在一些问题,我在一些地方进行了修改。本人使用的IDE是anaconda,因此事先在anaconda prompt 中安装Basemap包...
  • 上一次我们讲解了利用Python的2D绘图库matplotlib来绘制函数图像(用Python画函数图像),下面我们来讨论如何绘制带参数的函数图像。下面我们用正态分布的概率密度在做例子(概率密度的图像为正态分布曲线),其概率密度...
  • 在python中一般采用matplotlib库的hist来绘制直方,至于如何给直方添加拟合曲线(密度函数曲线),一般来说有以下两种方法。方法一:采用matplotlib中的mlab模块mlab模块是Python中强大的3D作图工具,立体感效...
  • 这是笔试/面试题系列的第2篇文章在了解何为偏态数据前,要先从正态数据说起。正态分布 正态分布是自然界中广泛存在的,...从下可以看出,横坐标代表随机变量X的一个取值,在均值(u=0)附近概率密度最大,越偏离均...
  • 今天咱们还是接着上次的话题,继续和大家聊聊关于Python绘图相关的东东哦,上次...首先,咱们聊聊在Python中如何绘制经典的堆积折线哦到这可能有朋友会问了:什么是堆积折线呢?其实这个堆积折线在咱们日常生...
  • 在python中一般采用matplotlib库的hist来绘制直方,至于如何给直方添加拟合曲线(密度函数曲线),一般来说有以下两种方法。方法一:采用matplotlib中的mlab模块mlab模块是Python中强大的3D作图工具,立体感效.....

空空如也

空空如也

1 2 3 4
收藏数 72
精华内容 28
关键字:

密度图如何绘制