请考虑以下工作表:
A B C D
1 COMPANY XVALUE YVALUE GROUP
2 Apple 45 35 red
3 Xerox 45 38 red
4 KMart 63 50 orange
5 Exxon 53 59 green
Run Code Online (Sandbox Code Playgroud)
我在Excel中使用了scatterplot函数来创建以下图表:
但是,图表中的每个点都有一个附加属性:GROUP
.有四组:red
,orange
,black
和green
.我想相应地为每个点着色,这样我就可以看到一个模式(例如,组green
几乎总是位于图表的左侧).因为我的列表是500行长,我不能手动执行此操作.我该如何自动执行此操作?
我正在寻找一种方法通过VBA代码将颜色标度应用于一组单元格,但不是通过应用一些条件格式...我想将它们应用为静态颜色(InteriorColor)
我搜索了很多excel网站,谷歌和stackoverflow,没有发现任何东西:(
对于我的情况,如果你看下面的图片:
你可以看到我给它一个色标,在这个例子中虽然我已经通过条件格式化完成了色阶.我想通过VBA创建色阶,但它必须避免使用条件格式,我想为单元格指定内部颜色,以便颜色是静态的,这使得它们在所有移动excel查看器上都可见,速度更快,如果我不会改变是删除任何数字/行.
下面是一些示例数据只需将其保存在csv中并在excel中打开它以查看excel中的数据:P:
Data 1 (Yes there are blanks),Data 2,Data 3,Data 4,Data 5,Data 6
155.7321504,144.6395913,1,-4,-9.3844,0.255813953
113.0646481,120.1609771,5,-2,-2.5874,0.088082902
126.7759917,125.3691519,2,0,-0.0004,0.107843137
,0,7,,,0.035714286
123.0716084,118.0409686,4,0,0.3236,0.118881119
132.4137536,126.5740362,3,-2,-3.8814,0.090909091
70,105.9874422,6,-1,-0.3234,0.103896104
Run Code Online (Sandbox Code Playgroud)
我在python中使用以下内容,但显然我无法在VBA中使用此代码,以下代码成功地将十六进制颜色分配给50种颜色的预定义数组中的数字,因此它非常准确.
def mapValues(values):
nValues = np.asarray(values, dtype="|S8")
mask = (nValues != '')
maskedValues = [float(i.split('%')[0]) for i in nValues[mask]]
colorMap = np.array(['#F8696B', '#F86E6C', '#F8736D', '#F8786E', '#F97E6F', '#F98370', '#F98871', '#FA8E72', '#FA9373', '#FA9874', '#FA9E75', '#FBA376', '#FBA877', '#FBAD78', '#FCB379', '#FCB87A', '#FCBD7B', '#FCC37C', '#FDC87D', '#FDCD7E', '#FDD37F', '#FED880', '#FEDD81', '#FEE382', '#FEE883', '#FCEB84', '#F6E984', '#F0E784', '#E9E583', …
Run Code Online (Sandbox Code Playgroud)