<?xml version="1.0" encoding="UTF-8"?>



<!--***********************************************************
 * 
 * Licensed to the Apache Software Foundation (ASF) under one
 * or more contributor license agreements.  See the NOTICE file
 * distributed with this work for additional information
 * regarding copyright ownership.  The ASF licenses this file
 * to you under the Apache License, Version 2.0 (the
 * "License"); you may not use this file except in compliance
 * with the License.  You may obtain a copy of the License at
 * 
 *   http://www.apache.org/licenses/LICENSE-2.0
 * 
 * Unless required by applicable law or agreed to in writing,
 * software distributed under the License is distributed on an
 * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
 * KIND, either express or implied.  See the License for the
 * specific language governing permissions and limitations
 * under the License.
 * 
 ***********************************************************-->




		<helpdocument version="1.0">
<meta>
<topic id="textsharedoptionen01110100xml" indexer="include" status="PUBLISH">
<title id="tit" xml-lang="en-US">Default colors</title>
<filename>/text/shared/optionen/01110100.xhp</filename>
</topic>
</meta>
<body>
<section id="grundfarben">
<bookmark xml-lang="en-US" branch="index" id="bm_id3154751"><bookmark_value>charts; colors</bookmark_value>
<bookmark_value>colors;charts</bookmark_value>
</bookmark>
<paragraph role="heading" id="hd_id3149760" xml-lang="en-US" level="1" l10n="U" oldref="1"><link href="text/shared/optionen/01110100.xhp" name="Default colors">Default colors</link></paragraph>
<paragraph role="paragraph" id="par_id3150713" xml-lang="en-US" l10n="U" oldref="2">Assigns colors to the data rows. The settings only apply for all newly created charts.</paragraph>
</section>
<section id="howtoget">
  <embed href="text/shared/00/00000406.xhp#diagrgfarbe"/>
</section>
<!-- removed HID SCH:LISTBOX:TP_DEF_COLOR:LB_CHART_COLOR_LIST -->
<bookmark xml-lang="en-US" branch="hid/cui:ListBox:RID_OPTPAGE_CHART_DEFCOLORS:LB_CHART_COLOR_LIST" id="bm_id4940946" localize="false"/><paragraph role="heading" id="hd_id3154751" xml-lang="en-US" level="2" l10n="U" oldref="3">Chart colors</paragraph>
<paragraph role="paragraph" id="par_id3145345" xml-lang="en-US" l10n="U" oldref="4"><ahelp hid="SCH:LISTBOX:TP_DEF_COLOR:LB_CHART_COLOR_LIST">Displays all the colors available for the data series.</ahelp> Select a data series to change its color. Select the desired color from the adjacent color table.</paragraph>
<paragraph role="heading" id="hd_id3154823" xml-lang="en-US" level="2" l10n="U" oldref="5">Color table</paragraph>
<paragraph role="paragraph" id="par_id3149398" xml-lang="en-US" l10n="U" oldref="6">This table is used as a means of replacing the chart colors for the selected data rows. For example, if you selected data row 6 and then click on the color green 8, the old color of the data row is replaced by green 8. The name of the selected color is shown below the color table.</paragraph>
<!-- removed HID SCH:PUSHBUTTON:TP_DEF_COLOR:PB_RESET_TO_DEFAULT -->
<bookmark xml-lang="en-US" branch="hid/cui:PushButton:RID_OPTPAGE_CHART_DEFCOLORS:PB_RESET_TO_DEFAULT" id="bm_id5361491" localize="false"/><paragraph role="heading" id="hd_id3147242" xml-lang="en-US" level="2" l10n="U" oldref="7">Default</paragraph>
<paragraph role="paragraph" id="par_id3156347" xml-lang="en-US" l10n="U" oldref="8"><ahelp hid="SCH:PUSHBUTTON:TP_DEF_COLOR:PB_RESET_TO_DEFAULT">Restores the color settings that were defined when the program was installed.</ahelp></paragraph>
</body>
</helpdocument>
