excel饼图扇区颜色如何修改?

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了excel饼图扇区颜色如何修改?相关的知识,希望对你有一定的参考价值。

如图,蓝色区域有三个扇区,请问如何更改其中一个扇区颜色?
P.S:选中单个扇区—设置数据点格式—填充—纯色填充,其余扇区可行,蓝色扇区依然不变。

1、例如,我想把图中的蓝色系列修改成绿色。先用鼠标点击任意一个蓝色的柱体,这样就选中了所有的蓝色柱体。

2、右键一下,在油漆桶按钮下选择绿色。

3、这样所有的蓝色柱体就都被修改成了绿色。

4、和修改柱体颜色的方法一样,选中后,右键一下,选择边框的颜色,这样就可以得到如下的效果。

参考技术A

1、以下图中表格数据为例;插入一个饼图。

2、饼图默认颜色如下图所示。这些颜色不符合自己的要求,那么,我们就把这些颜色给更改为自己想要的。

3、在饼图中,鼠标双击其中的绿色,绿色呈选中状态,右侧即弹出一个小窗口

4、在小窗口这里,鼠标点下填充的图标,下方即显示出相关的设置选项。

5、在“纯色填充”这里点下,下方弹出相关设置,在颜色这里的小三角点下,弹出的颜色面板中选择自己想要的颜色,比如,深红

参考技术B

举例说明。

第一步:建立一个数据表。如图:

第二步:插入饼图。如图:

第三步:通过数据区域选择后,饼图结果如图所示。

第四步:(修改C的颜色)点击C,选择设置图例项格式,选择填充色为黄色。如图:

按关闭后结果如图:

参考技术C 2003中可如下修改:
点击你要的扇区,注意看不是选择真个饼图,只是选中扇区的边缘有被选择的点点。一般要在这个扇区左键点击两次,不能双击哦,要有一定时间间隔,呵呵。
右键,数据点格式,这里面即可以任意选择扇区颜色。
至于你说的蓝色扇区不能改变,因为道理上不可能,又没有你的原文件查看,还真不知道原因。

希望能够帮到你。追问

感谢您的回答,我用的2007的,除了ABC那三个扇子其他单击选择颜色都会变的。。真是那个啥,好生奇怪啊。。。

本回答被提问者和网友采纳
参考技术D 在图表上单击一次选中整个饼图 在单个蓝色扇形区域单击选中此扇形 在此扇形上点击鼠标右键 数据点格式 图案 内部 点击你想要的颜色的图标 确定。

发生鼠标悬停事件时如何更改饼图的颜色

【中文标题】发生鼠标悬停事件时如何更改饼图的颜色【英文标题】:How to change color of pie slice when mouse hover event take place 【发布时间】:2017-09-01 12:47:46 【问题描述】:

我在matplotlib 中创建了一个饼图。我想在 python 中实现this 结果,即每当鼠标悬停在任何切片上时,它的颜色都会改变。我进行了很多搜索并想出了使用bind 方法,但这虽然无效,因此无法提出积极的意见结果。如果这可以通过任何其他库完成,我将没有问题(比如tkinterplotly 等,但我需要用matplotlib 提出解决方案,所以我会很感激)。请看看通过我的问题,任何建议都受到热烈欢迎...... 这是我的代码:

import matplotlib.pyplot as plt

labels = 'A', 'B', 'C', 'D'
sizes = [10, 35, 50, 5]
explode = (0, 0, 0.1, 0)  # only "explode" the 3rd slice (i.e. 'C')

fig1, ax1 = plt.subplots()
ax1.pie(sizes, explode=explode, labels=labels, autopct='%1.1f%%',
    shadow=True, startangle=90)
ax1.axis('equal')  # Equal aspect ratio ensures that pie is drawn as a circle.

plt.show()

问候...

【问题讨论】:

figure_enter_event 呢? 您能提供一些样品吗? 文档中有一些例子:matplotlib.org/users/event_handling.html#mouse-enter-and-leave 我一定会看看的,先生!!!谢谢 【参考方案1】:

matplotlib event handler 需要 motion_notify_event。 这可以连接到一个函数,该函数检查鼠标是否在饼图的楔形之一内。这是通过contains_point 完成的。在这种情况下,对楔形进行不同的着色,否则将其颜色设置为其原始颜色。

import matplotlib.pyplot as plt

labels = 'A', 'B', 'C', 'D'
sizes = [10, 35, 50, 5]
explode = (0, 0, 0.1, 0)  # only "explode" the 3rd slice (i.e. 'C')

fig1, ax1 = plt.subplots()
wedges, _, __ = ax1.pie(sizes, explode=explode, labels=labels, autopct='%1.1f%%',
    shadow=True, startangle=90)
ax1.axis('equal')  # Equal aspect ratio ensures that pie is drawn as a circle.

ocols= [w.get_facecolor() for w in wedges]
ncols= ["gold", "indigo", "purple", "salmon"]

def update(event):
    if event.inaxes == ax1:
        for i, w in enumerate(wedges):
            if w.contains_point([event.x, event.y]):
                w.set_facecolor(ncols[i])
            else:
                w.set_facecolor(ocols[i])
        fig1.canvas.draw_idle()


fig1.canvas.mpl_connect("motion_notify_event", update)

plt.show()

【讨论】:

像往常一样,您的回答非常有用。我正在寻找一种方法来识别鼠标所在的楔子。我不知道contains_point(),很高兴学到了新东西。 @DizietAsahi 我恰好在前几天回复了a question about contains_point,所以我对此记忆犹新。 ;-) 但是,理想情况下,我希望使用contains(event),由于某种原因,它没有按预期工作(如果鼠标在轴内,它总是返回 True,而不仅仅是有问题的楔形)。 您是一位创造奇迹的先生!!!非常感谢您。我被困在里面超过 21 小时......先生,我只想知道一件事(虽然很愚蠢并为此道歉)先生,如果我们想在鼠标悬停时为不同的切片显示不同的颜色,我们需要创建多个事件还是可以有一些有效的选择? 我更新了答案,使每个楔形都有不同的“悬停颜色”。您只需要拥有与楔形一样多的颜色列表。【参考方案2】:

首先,您要查找的是the documentation on Event handling in matplotlib。特别是,每次鼠标移动时都会触发motion_notify_event。但是,我想不出一个简单的方法来识别鼠标现在在哪个楔子上。

如果点击是可以接受的,那么问题就简单多了:

labels = 'A', 'B', 'C', 'D'
sizes = [10, 35, 50, 5]
explode = (0, 0, 0.1, 0)  # only "explode" the 3rd slice (i.e. 'C')
click_color = [0.2, 0.2, 0.2]

fig1, ax1 = plt.subplots()
patches, texts, autotexts = ax1.pie(sizes, explode=explode, labels=labels, autopct='%1.1f%%',
    shadow=True, startangle=90)

# store original color inside patch object
# THIS IS VERY HACKY.
# We use the Artist's 'gid' which seems to be unused as far as I can tell
# to be able to recall the original color
for p in patches:
    p.set_gid(p.get_facecolor())
    # enable picking
    p.set_picker(True)

ax1.axis('equal')  # Equal aspect ratio ensures that pie is drawn as a circle.


def on_pick(event):
    #restore all facescolor to erase previous changes
    for p in patches:
        p.set_facecolor(p.get_gid())
    a = event.artist
    # print('on pick:', a, a.get_gid())
    a.set_facecolor(click_color)
    plt.draw()

fig1.canvas.mpl_connect('pick_event', on_pick)
plt.show()

【讨论】:

非常感谢先生!!!但是我想出了这个解决方案。我希望当鼠标悬停发生时,更改不会发生在点击事件上!!!但是再次感谢您提供宝贵的时间

以上是关于excel饼图扇区颜色如何修改?的主要内容,如果未能解决你的问题,请参考以下文章

Echarts 解决饼图文字过长重叠的问题

解决 Echarts饼图文字过长重叠问题

Echarts关于饼图data中数据如何动态填充?

饼状图表标题怎么修改

如何绘制一个颜色列表的饼图

NVD3饼图如何自定义颜色