数据可视化python,绘制饼图,代码和解析 |
您所在的位置:网站首页 › 绘制三维饼图 › 数据可视化python,绘制饼图,代码和解析 |
饼图样式:
使用matplotlib.pyplot.pie绘制 ![]() (1),该函数的定义如下: matplotlib.pyplot.pie(x, explode=None, labels=None, colors=None, autopct=None, pctdistance=0.6, shadow=False, labeldistance=1.1, startangle=None, radius=None, counterclock=True, wedgeprops=None, textprops=None, center=(0, 0), frame=False, rotatelabels=False, hold=None, data=None) 参数说明: x:数组。输入的数据用于创建一个饼图。explode:数组,可选参数,默认为None。 如果不是None,是一个长度与3.x相同长度的数组,用来指定每部分的偏移量。例如:explode[0,0,0.2,0,0],第二个饼块被拖出。labels:列表,可选参数,默认None。一般为一个与x数组等长的字符串序列作为每个饼块的标记。colors:数组,可选参数,默认为:None。用来标注每块饼图的matplotlib颜色参数序列。如果为None,将使用当前活动环的颜色。autopct:默认是None,字符串或函数,可选参数。如果不是None,是一个字符串或函数,用于为饼图自动添加百分比显示,可以采用格式化的方法显示。例如:autopct=%1.1f%%表示百分比保留小数点后一位pctdistance:浮点数,可选参数,默认值:0.6。设置百分比标签与圆心的距离。如果autopct是None,被忽略。shadow:布尔值,可选参数,默认值:False。在饼图下面画阴影。startangle:浮点类型,可选参数,默认:None。如果不是None,则代表饼图的起始角度。为从x轴逆时针或顺时针旋转饼图的开始角度。顺时针还是逆时针取决于参数counterclock的取值。counterclock:布尔值,可选参数,默认为:None。指定指针方向,指定是否让饼图按逆时针顺序呈现。labeldistance:浮点数,可选参数,默认值:1.1。用于设置饼图的标签文本与中心点的距离,设置该参数时需要参考饼图的半径radius。radius:浮点类型,可选参数,默认为:None。饼图的半径,如果半径是None,将被设置成1。textprops:字典类型,可选参数,默认值为:None。传递给text对象的字典参数,用于设置饼图中文本的属性,如字体大小、颜色等。wedgeprops:字典类型,可选参数,默认值:None。参数字典传递给wedge对象用来画一个饼图,用来设置饼图内外边界的属性,如边界线的粗细、颜色等。例如:wedgeprops={‘linewidth’:3}设置wedge边线宽为3。center:浮点类型的列表,可选参数,默认值:(0,0)。设置饼图中心的位置,默认为原点。 csv文件为:![]() Things和Time只是随意的参数,可以随意该写 Original: https://blog.csdn.net/qq_52596292/article/details/127476077Author: 一个喜欢听雨的男孩Title: 数据可视化python,绘制饼图,代码和解析 相关阅读 Title: Python标准库模块之heapq – 堆构造读前福利:几百本经典书籍https://www.johngo689.com/2158/ 堆作为优先队列的常用方法,而且在数据结构和算法方面,经常使用大顶堆和小顶堆进行问题的解决。 [En]Heap is a common method of priority queue, and large top heap and small top heap are often used to solve problems in data structure and algorithm. 使用 Python 提供的标准库 heapq: import heapq注意:默认的堆结构是小顶堆 方法一:创建空列表,然后手动加入元素 heapq.heappush()举例: >>> nums = [2, 5, 1, 6, 9, 0] >>> heap = [] >>> for num in nums: ... heapq.heappush(heap, num) ... >>> print(heap[0]) 0 >>> print([heapq.heappop(heap) for _ in range(len(nums))]) [0, 1, 2, 5, 6, 9]方法二:初始化 list,然后转为堆结构 heapq.heapify(list)直接将 list 转为堆结构 举例: >>> nums = [2, 5, 1, 6, 9, 0] >>> # 转为heap结构 ... >>> heap.heapify(nums) >>> print(nums[0]) 0 >>> print([heapq.heappop(nums) for _ in range(len(nums))]) [0, 1, 2, 5, 6, 9]删除最小值 并且 加入新元素, 使用 heapq.heaprepalce() >>> nums = [2, 5, 1, 6, 9, 0] >>> # 转为heap结构 ... >>> heap.heapify(nums) >>> heapq.heapreplace(nums, 100) 0 >>> heapq.heapreplace(nums, -1) 1 >>> print([heapq.heappop(nums) for _ in range(len(nums))]) [-1, 2, 5, 6, 9, 100]这里没有直接构造大顶堆的方法,可以使用一个很巧妙的思路进行解决。 [En]There is no direct way to construct a large top heap, which can be solved with a very ingenious idea. 这是一个很 Tirck 的思路: 首先我们用上述方法一进行构造堆结构,注意要在每一个元素增加一个负号(-): [En]First, we use the above method 1 to construct the heap structure, and note that we need to add a negative sign (-) to each element: >>> nums [0, 5, 1, 6, 9, 2] >>> nums = [2, 5, 1, 6, 9, 0] >>> heap = [] >>> for num in nums: ... heapq.heappush(heap, -num) >>> heap [-9, -6, -1, -2, -5, 0]接下来,打印堆元素,注意也要加负号(-): >>> print([-heapq.heappop(heap) for _ in range(len(nums))]) [9, 6, 5, 2, 1, 0]这样是不是就巧妙的将大顶堆进行打印出来了。 整体思路:push(-) -> pop(-),负负得正。 获取堆中最大或最小的范围值。 使用 heapq.nlargest() 或 heapq.nsmallest() 函数进行求得: >>> nums = [2, 5, 1, 6, 9, 0] >>> heapq.heapify(nums) >>> heapq.nlargest(3, nums) [9, 6, 5] >>> heapq.nsmallest(3, nums) [0, 1, 2]这个比较简单,需要主要添加范围值。 Original: https://www.cnblogs.com/yydsxiaozhu/p/15392658.htmlAuthor: 技术gogogoTitle: Python标准库模块之heapq – 堆构造 原创文章受到原创版权保护。转载请注明出处:https://www.johngo689.com/283569/ 转载文章受原作者版权保护。转载请注明原作者出处! |
今日新闻 |
推荐新闻 |
CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3 |